package io.gitee.twoke.generator.engine.impl.generate.output;

import java.io.File;
import java.util.Map;

public interface OutputEntity {

    String getOutputDir();
    void setOutputDir(String outputDir);

    String getFilename();
    void setFilename(String filename);

    byte[] getData();
    void setData(byte[] bytes);

    Map<String, Object> getParams();
    void setParams(Map<String, Object> params);

    default String getOutputPath() {
        StringBuilder filepath = new StringBuilder(getOutputDir());
        if (!filepath.toString().endsWith(File.separator)) {
            filepath.append(File.separator);
        }
        filepath.append(getFilename());
        return String.valueOf(filepath);
    }


    static DefaultOutputEntity.DefaultOutputEntityBuilder defaultBuilder() {
        return DefaultOutputEntity.builder();
    }
}